1. Field
One or more embodiments of the present invention relate to a method and apparatus for rendering three-dimensional (3D) graphic data, and a computer-readable recording medium on which a program for executing the method is recorded.
2. Description of the Related Art
Description techniques of three-dimensional (3D) graphic data for displaying a 3D object on a two-dimensional (2D) screen include virtual reality modeling language (VRML), which is a standard technology. 3D graphic data includes geometric information of objects in a 3D space, material information of the objects, and information regarding changes in the geometric and material information over time. For example, geometric information includes information regarding positions of 3D vertexes that form an object and connection information of the 3D vertexes. The material information includes information regarding the texture, transparency and color of the object, the light reflectivity of the surface of the object, and the position and characteristics of a light source.
In order to display a 3D object on a screen using such 3D graphic data, an apparatus is required for parsing read 3D graphic data and converting the parsed 3D graphic data. This apparatus is generally called a 3D graphics rendering engine. The 3D graphics rendering engine includes a parser and a renderer. The parser reads 3D graphic data and parses the meaning of the read 3D graphic data. In other words, the parser identifies, interprets and determines whether the read 3D graphic data indicates geometric information of objects, material information of the objects, or information regarding the superior-subordinate relationship between the objects represented in a scene graph structure. The renderer renders the scene graph parsed by the parser and displays the rendered scene graph on the screen.
Conventional rendering engines render 3D graphic data using a fixed rendering function, that is, software codes to perform a series of processes which include a predetermined process for rendering 3D graphic data, such as texture filtering or anti-aliasing. However, since the conventional rendering engines render all graphic data in the same way using the fixed rendering function and without considering characteristics of the 3D graphic data, they include many codes which perform unnecessary functions. Accordingly, the size of the rendering function becomes unnecessarily large.
In addition, a rendering process for 3D graphic data is a process of calculating depth information as well as color information of each pixel on the screen. Therefore, if the size of the rendering function increases, the amount of required calculation increases, thereby lowering the rendering speed.
In order to solve such a problem, the present applicant has invented a rendering method and apparatus which can prevent the deterioration of image quality and enhance the rendering speed by analyzing characteristics of 3D graphic data and rendering the 3D graphic data using a flexible rendering function generated in consideration of the analyzed characteristics of the 3D graphic data. As an example, a general rendering method and device are discussed in Korean Patent Application No. 10-2005-0009107. There, unnecessary codes are excluded from a rendering operation based on the characteristics of 3D graphic data. Therefore, the amount of calculation required is reduced, which, in turn, increases the rendering speed. However, while such techniques consider the characteristics of data to be rendered, they fail to consider the state of power of a system performing the rendering process.
A function for reproducing 3D graphic data has recently been added to mobile devices such as mobile game players or navigators for vehicles. Since mobile devices run on limited power, power consumed in the rendering process must be reduced in order for the mobile devices to render 3D graphic data, which requires a considerable amount of calculation.